﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH04_04
{
    public class Person
    {
        // 成员变量（字段）
        private string name;
        private int age;

        // 属性，用于访问和修改字段的值
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public int Age
        {
            get { return age; }
            set
            {
                if (value > 0) // 确保年龄是正数
                {
                    age = value;
                }
                else
                {
                    Console.WriteLine("年龄必须是正数！");
                }
            }
        }

        // 构造函数，用于初始化对象
        public Person(string name, int age)
        {
            this.name = name;
            this.age = age;
        }

        // 一个方法，用于打印人的信息
        public void PrintInfo()
        {
            Console.WriteLine($"姓名: {name}, 年龄: {age}");
        }

        // 主方法，程序的入口点
        static void Main(string[] args)
        {
            // 创建一个 Person 对象
            Person person = new Person("张三", 25);

            // 调用 PrintInfo 方法打印信息
            person.PrintInfo();

            // 修改属性值
            person.Age = 26;
            person.Name = "李四";

            // 再次打印信息
            person.PrintInfo();

            // 尝试设置一个无效的年龄
            person.Age = -5;

            // 再次打印信息，确认年龄没有改变
            person.PrintInfo();
        }
    }
}
